/**
 *Copyright (c) 2024 watereyes
 * safetymanagement is licensed under Mulan PubL v2.
 * You can use this software according to the terms and conditions of the Mulan
 * PubL v2.
 * You may obtain a copy of Mulan PubL v2 at:
 *          http://license.coscl.org.cn/MulanPubL-2.0
 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
 * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
 * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
 * See the Mulan PubL v2 for more details.
 */
package com.koron.hazardsource.domain;

import com.koron.common.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.util.Date;

@ApiModel(value = "标准风险项", description = "标准风险项实体类")
public class StandardRisk extends BaseEntity {

    public StandardRisk() {
        super();
    }

    public StandardRisk(String userCode, String userName) {
        super.setAddUser(userCode);
        super.setAddUserName(userName);
        super.setAddTime(new Date());
        super.setUpdateUser(userCode);
        super.setUpdateUserName(userName);
        super.setUpdateTime(super.getAddTime());
    }

    @ApiModelProperty(value = "危险源ID", name = "hazardSourceId", required = true)
    private String hazardSourceId;

    @ApiModelProperty(value = "事故类型ID", name = "accidentTypeId", required = true)
    private String accidentTypeId;

    @ApiModelProperty(value = "事故类型名称", name = "accidentTypeName", required = true)
    private String accidentTypeName;

    @ApiModelProperty(value = "风险描述", name = "riskInfo", required = true)
    private String riskInfo;

    @ApiModelProperty(value = "风险原因", name = "riskReason", required = true)
    private String riskReason;

    @ApiModelProperty(value = "控制措施", name = "precaution")
    private String precaution;

    @ApiModelProperty(value = "可能性", name = "possibility", required = true)
    private Integer possibility;

    @ApiModelProperty(value = "严重性", name = "severity", required = true)
    private Integer severity;

    @ApiModelProperty(value = "风险等级", name = "riskLevel", required = true)
    private Integer riskLevel;

    @ApiModelProperty(value = "风险等级名称", name = "riskLevelName", required = true)
    private String riskLevelName;

    @ApiModelProperty(value = "管控层级", name = "controlLevel", required = true)
    private String controlLevel;

    @ApiModelProperty(value = "残余风险可能性", name = "residuePossibility")
    private Integer residuePossibility;

    @ApiModelProperty(value = "残余风险严重性", name = "residueSeverity")
    private Integer residueSeverity;

    @ApiModelProperty(value = "残余风险风险等级", name = "residueLevel")
    private Integer residueLevel;

    @ApiModelProperty(value = "残余风险风险等级名称", name = "residueLevelName")
    private String residueLevelName;

    @ApiModelProperty(value = "残余风险管控层级", name = "residueControlLevel")
    private String residueControlLevel;

    //发生事故的可能性
    private BigDecimal occurencePossibility;
    //人员处于危险环境的频繁程度
    private BigDecimal frequently;
    //发生事故后产生的后果
    private BigDecimal consequence;

    public String getHazardSourceId() {
        return hazardSourceId;
    }

    public void setHazardSourceId(String hazardSourceId) {
        this.hazardSourceId = hazardSourceId;
    }

    public String getAccidentTypeName() {
        return accidentTypeName;
    }

    public void setAccidentTypeName(String accidentTypeName) {
        this.accidentTypeName = accidentTypeName;
    }

    public String getAccidentTypeId() {
        return accidentTypeId;
    }

    public void setAccidentTypeId(String accidentTypeId) {
        this.accidentTypeId = accidentTypeId;
    }

    public String getRiskInfo() {
        return riskInfo;
    }

    public void setRiskInfo(String riskInfo) {
        this.riskInfo = riskInfo;
    }

    public String getRiskReason() {
        return riskReason;
    }

    public void setRiskReason(String riskReason) {
        this.riskReason = riskReason;
    }

    public String getPrecaution() {
        return precaution;
    }

    public void setPrecaution(String precaution) {
        this.precaution = precaution;
    }

    public Integer getPossibility() {
        return possibility;
    }

    public void setPossibility(Integer possibility) {
        this.possibility = possibility;
    }

    public Integer getSeverity() {
        return severity;
    }

    public void setSeverity(Integer severity) {
        this.severity = severity;
    }

    public Integer getRiskLevel() {
        return riskLevel;
    }

    public void setRiskLevel(Integer riskLevel) {
        this.riskLevel = riskLevel;
    }

    public String getControlLevel() {
        return controlLevel;
    }

    public void setControlLevel(String controlLevel) {
        this.controlLevel = controlLevel;
    }

    public Integer getResiduePossibility() {
        return residuePossibility;
    }

    public void setResiduePossibility(Integer residuePossibility) {
        this.residuePossibility = residuePossibility;
    }

    public Integer getResidueSeverity() {
        return residueSeverity;
    }

    public void setResidueSeverity(Integer residueSeverity) {
        this.residueSeverity = residueSeverity;
    }

    public Integer getResidueLevel() {
        return residueLevel;
    }

    public void setResidueLevel(Integer residueLevel) {
        this.residueLevel = residueLevel;
    }

    public String getResidueControlLevel() {
        return residueControlLevel;
    }

    public void setResidueControlLevel(String residueControlLevel) {
        this.residueControlLevel = residueControlLevel;
    }

    public String getRiskLevelName() {
        return riskLevelName;
    }

    public void setRiskLevelName(String riskLevelName) {
        this.riskLevelName = riskLevelName;
    }

    public String getResidueLevelName() {
        return residueLevelName;
    }

    public void setResidueLevelName(String residueLevelName) {
        this.residueLevelName = residueLevelName;
    }

    public BigDecimal getOccurencePossibility() {
        return occurencePossibility;
    }

    public void setOccurencePossibility(BigDecimal occurencePossibility) {
        this.occurencePossibility = occurencePossibility;
    }
    public BigDecimal getFrequently() {
        return frequently;
    }

    public void setFrequently(BigDecimal frequently) {
        this.frequently = frequently;
    }

    public BigDecimal getConsequence() {
        return consequence;
    }

    public void setConsequence(BigDecimal consequence) {
        this.consequence = consequence;
    }

    @Override
    public String toString() {
        return "StandardRisk{" +
                "hazardSourceId='" + hazardSourceId + '\'' +
                ", accidentTypeId='" + accidentTypeId + '\'' +
                ", riskInfo='" + riskInfo + '\'' +
                ", riskReason='" + riskReason + '\'' +
                ", precaution='" + precaution + '\'' +
                ", possibility=" + possibility +
                ", severity=" + severity +
                ", riskLevel=" + riskLevel +
                ", controlLevel=" + controlLevel +
                ", residuePossibility=" + residuePossibility +
                ", residueSeverity=" + residueSeverity +
                ", residueLevel=" + residueLevel +
                ", residueControlLevel=" + residueControlLevel +
                '}';
    }
}
